/**
 * 匿名内部类的使用
 * @Author Stark
 * @Date 2022/2/9 18:01
 */
//public class Outter4 {
//    public static void fun(IMessage msg){
//        msg.printMsg();
//    }
//    public static void main(String[] args) {
//        IMessage iMessage = new IMessageImpl();
//        fun(iMessage);
//    }
//}
//
//interface IMessage{
//    void printMsg();
//}
//class IMessageImpl implements IMessage{
//    @Override
//    public void printMsg() {
//        System.out.println("普通用法");
//    }
//}

public class Outter4 {
    public static void fun(IMessage msg){
        msg.printMsg();
    }
    public static void main(String[] args) {
        fun(new IMessage(){
            //这就是一个匿名内部类
            //等同于创建了一个类实现了Imessage接口，创建该类的对象
            @Override
            public void printMsg() {
                System.out.println("匿名内部类的用法");
            }
        });
    }
}

interface IMessage{
    void printMsg();
}
